Android JUnit 测试 ClassNotFoundException
全部标签 我的项目有1000多个单元测试,在本地机器上,所有测试都在不到10秒的时间内完成。但是,当它们在TFSBuild上运行时,某些测试的运行速度明显低于其他测试。其中3个在大约1-2分钟内运行,其他4个在5-30秒内运行,而其他则在几分之一秒内运行。我注意到所有那些较慢的测试都使用来自MicrosoftFakes的假货,并且每个测试都是同类中第一个运行的。但是很多其他测试也使用假货(有些更密集)并定期运行。我想知道是什么导致了这种放缓,我该如何解决。编辑:我注意到每个较慢的测试都在无模拟测试之后运行。也许这种减速是由ShimsContext的初始化引起的。在我的测试类中,ShimsCont
每当单元测试由于StackOverflowException而失败时,单元测试过程会立即退出-找出发生了什么(据我所知)的唯一方法是调试单元的故障转储按照此处找到的步骤获得的测试过程CollectingUser-ModeDumps获取在抛出StackOverflowException时正在运行的单元测试的名称的最简单方法是什么?即使在调试单元测试时,我也很难找到当前单元测试的名称,因为它位于堆栈底部,而VisualStudio不会在调试窗口中显示整个堆栈,因为它太大了。有没有办法在不收集和调试故障转储的情况下找出哪个单元测试失败? 最佳答案
在VS2010中,我的MSTest测试运行得很好。在VS2012中运行时出现错误。该测试使用自定义业务主体设置Csla.ApplicationContext.User。当EntityFramework被要求提供一个新的ObjectContext时,我收到一个SerializationException,说找不到我的自定义业务主体类型。当通过VS2012的测试运行器或Resharper7的测试运行器运行时,所有使用EntityFramework的测试都会失败。我试过NCrunch的测试运行器,它们都通过了。我该如何解决这个问题? 最佳答案
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion(我问了this问题,但没有得到太多回应。建议我就C#提出同样的问题。)我是一名VB.NET开发人员,几乎没有C#经验(是的,我知道我需要用C#编写更多代码),正在寻找能够展示高单元测试覆盖率的小型开源项目来学习。我正在寻找小型项目,因为我不想为了更
通过在线查找一些代码,我终于能够让HttpContext.Current不为空。但是我仍然无法在单元测试中向请求添加自定义header。这是我的测试:[TestClass]publicclassTagControllerTest{privatestaticMock>Service{get;set;}privateTagControllercontroller;[TestInitialize]publicvoidThingServiceTestSetUp(){Tagtag=newTag(1,"people");Responseresponse=newResponse();response
有没有人找到用C#并行编写的运行SeleniumRC/SeleniumGrid测试的方法?我目前有一个使用SeleniumRC的C#驱动程序编写的相当大的测试套件。运行整个测试套件需要一个多小时才能完成。我通常不需要运行整个套件,所以到目前为止这还不是一个问题,但我希望能够更经常地做这件事(即,作为自动构建的一部分)最近,我一直在研究SeleniumGrid项目,该项目的主要目的是让这些测试并行运行。不幸的是,我使用的TestDriven.net插件似乎连续运行测试(即,一个接一个)。我假设NUnit会以类似的方式执行测试,尽管我还没有实际测试过。我注意到NUnit2.5测试版开始谈论
xUnit对整个测试程序集使用相同的AppDomain,这是有问题的,因为我正在测试一个UI库并且需要为每个人创建一个新的Application实例测试。它在我运行单个测试时有效,但是当我RunAll时,第一个测试通过了,但是所有后续测试都失败了,CannotcreatemorethanoneSystem.Windows.Applicationinstancein在我创建新的Application对象的行中使用相同的AppDomain。 最佳答案 也许您可以尝试像这样制作您的测试类:publicclassDomainIsolated
我对单元测试还很陌生,目前正在尝试使用VisualStudio的测试工具。我的问题是如何在这些测试中定义有关并发行为的断言。例如。上课BoundedChan实现有界channel,我如何指定像这样的测试“channel.Send不会阻止”或“如果超出channel的容量,channel.Send将阻塞直到读取值”是否有一个优雅的解决方案来编写这些断言? 最佳答案 不幸的是,并发性仍然是单元测试的一个领域,很难轻松构建。这不是一个简单的问题,仍然需要你在测试中实现一些自己的同步和并发逻辑。对于您提供的示例,可能无法编写最终证明某个方法
我想对一个执行异步操作的方法进行单元测试:Task.Factory.StartNew(()=>{//methodtotestandreturnvaluevarresult=LongRunningOperation();});我在我的单元测试(用c#编写)中stub了必要的方法等,但问题是在我断言测试之前异步操作没有完成。我该如何解决这个问题?我应该创建TaskFactory的模拟或任何其他技巧来对异步操作进行单元测试吗? 最佳答案 您必须有某种方法来伪造任务创建。如果您将Task.Factory.StartNew调用移动到某个依赖项
作为TDD的新手,我正在努力编写处理集合的单元测试。例如,目前我正在尝试提出一些测试方案来从根本上测试以下方法intFind(Listlist,Predicatepredicate);该方法应返回列表list中与谓词predicate匹配的第一项的索引。到目前为止,我能够想出的唯一测试用例是当list不包含任何项目时-返回-1当list包含1个匹配predicate的项目时-返回0当list包含1个与predicate不匹配的项目时-返回-1当list包含2个都匹配predicate的项目时-返回0当list包含2个项目时,第一个匹配predicate-返回0等...但是正如您所见,这